
//搜索用的数据
var DATA = {

    page : 1,

    per_page : 10,

    comment_reply : '',

    keywords : '',

    user_name : ''

};

//vue的data
var _Global_Data = {

    query_info : DATA,      //查询所需要的数据

    search_info : {},       //用于接受查询数据

    comment : {},           //评论

    comment_detail : {},    //评论详情

    reply_comment : '',     //回复内容

    checkall : false,        //是否选择所有

    current_product: {
        thumb_img:'',
    },

};

// 评价
var CommentResource = new Resource( API_LIST.PRODUCT_COMMENT , Vue.http );

//批量回复
var BatchReplyResource = new Resource( API_LIST.BATCH_REPLY , Vue.http );

!function commentQuery() {

    var vm = new Vue({

        el : '#comment_list',

        data : _Global_Data,

        created : function(){

            var self = this;

            // self.initSearchData()

            self.requestTableData(self.query_info);

        },

        computed : {



        },

        watch : {

            'checkall' : function checkall(){

                var self = this;

                this.comment.data.forEach(function(comment){

                    comment.is_selected = self.checkall;

                })

            }

        },

        filters:{
            clipText: function (value, length) {
                if( !!value && value.length > length ){
                    return value.substring(0, length) + '...';
                }else{
                    return value;
                }

            }
        },

        methods : {
            /**
             *  设置当前的商品
             */
            setCurrentProduct : function (id) {
                var self = this;
                this.comment.data.forEach(function (item) {
                    if( id === item.id ){
                        self.current_product = item.product;
                    }
                });
            },

            //select2获取value的方法
            getValue : function getSelectValue(e){

                this.query_info[e.target.dataset.name] = e.target.value;

            },
            //改变页数的时候出发的函数
            pageChange : function pageChange(val){

                this.search_info.page = val;

                this.search_info.per_page = this.query_info.per_page;

                this.search_info.order_type = this.query_info.order_type;

                this.requestTableData(this.search_info);

            },
            //改变每页显示数时触发的函数
            sizeChange : function sizeChange(val){

                this.search_info.per_page = val;

                this.query_info.per_page = val;

                this.requestTableData(this.search_info);

            },
            //点击搜索时触发的函数
            confirmSearch : function confirmSearch(){

                var json_object = JSON.stringify(this.query_info);

                this.search_info = JSON.parse(json_object);

                this.requestTableData(this.query_info);

            },
            //回复一个商品
            replyComment : function replyComment(){

                if( this.comment_detail.comment_reply == '' || !this.comment_detail.comment_reply ){

                    alert('请输入需要回复的内容！');

                    return;

                }

                var self = this;

                var params = {

                    comment_id : this.comment_detail.id,

                    reply_comment : this.comment_detail.comment_reply

                };

                App.blockUI('#detail_form');

                CommentResource.store(params)
                            .then(function (res) {

                                if (parseInt(res.data.code) === 0) {

                                    self.requestTableData(self.query_info);

                                    $('.close').trigger('click');

                                    alert('回复成功！');

                                } else {

                                    alert(res.data.error);

                                }

                                App.unblockUI('#detail_form');

                            })
                            .catch(function (err) {

                                console.log(err);

                                App.unblockUI('#detail_form');

                                alert('网络异常！');

                            })
            },
            //一键回复
            batchReply : function batchReply(){

                if( this.reply_comment == '' || !this.reply_comment ){

                    alert('请输入需要回复的内容！');

                    return;

                }

                var self = this;

                var comment_ids = [];

                this.comment.data.forEach(function(comment){

                    if( comment.is_selected && !comment.comment_reply_time ){

                        comment_ids.push(comment.id);

                    }

                });

                var params = {

                    comment_ids : comment_ids,

                    reply_comment : this.reply_comment

                };

                App.blockUI('#batch_form');

                BatchReplyResource.store(params)
                                    .then(function (res) {

                                        if (parseInt(res.data.code) === 0) {

                                            self.requestTableData(self.query_info);

                                            $('.close').trigger('click');

                                            self.reply_comment = '';

                                            alert('回复成功！');

                                        } else {

                                            alert(res.data.error);

                                        }

                                        App.unblockUI('#batch_form');

                                    })
                                    .catch(function (err) {

                                        console.log(err);

                                        App.unblockUI('#batch_form');

                                        alert('网络异常！');

                                    })
            },
            //评价详情
            commentDetail : function commentDetail(id){

                // 设置当前商品
                this.setCurrentProduct(id);

                var self = this;

                App.blockUI('#detail_form');

                CommentResource.edit(id)
                            .then(function (res) {

                                if (parseInt(res.data.code) === 0) {

                                    self.comment_detail = res.data.queryComment;

                                } else {

                                    alert(res.data.error);

                                }

                                App.unblockUI('#detail_form');

                            })
                            .catch(function (err) {

                                console.log(err);

                                alert('网络异常！');

                                App.unblockUI('#detail_form');

                            })
            },
            //搜索函数
            requestTableData : function requestTableData( params ){

                var self = this;

                App.blockUI('#comment_list_form');

                CommentResource.index( params )
                            .then(function(res){

                                if( parseInt(res.data.code) === 0 ){

                                    res.data.comments.data.forEach(function(data){

                                        data.is_selected = false;

                                    });

                                    self.comment = res.data.comments;

                                    self.comment.per_page = parseInt(self.comment.per_page);

                                }else {

                                    alert(res.data.error);

                                }

                                App.unblockUI('#comment_list_form');

                            })
                            .catch(function(err){

                                console.log(err);

                                App.unblockUI('#comment_list_form');

                                alert('网络异常，请重试！');

                            })

            },
            //初始化所需数据
            // initSearchData : function initSearchData(){
            //
            //     var self = this;
            //
            //     return CommentResource.create()
            //                         .then(function(res){
            //
            //                             if( parseInt(res.data.code) === 0 ){
            //
            //                                 self.subordinates = res.data.subordinates;
            //
            //                                 self.machines = res.data.machines;
            //
            //                             }else {
            //
            //                                 alert(res.data.error);
            //
            //                             }
            //
            //                         })
            //                         .catch(function(err){
            //
            //                             console.log(err);
            //
            //                             alert('网络异常，请重试！');
            //
            //                         })
            //
            // }

        }

    })

}();